// 文件名: src/api/modules/role.ts
// 块功能: 角色管理 (Roles) 模块 API
// 描述: 包含对管理员角色的增、删、改、查接口。

import service from '../request'
import type { AdminRole, AdminRoleCreate, AdminRoleUpdate } from '../types/admin'

/**
 * @功能: 获取角色列表
 */
export const getRoleListApi = (): Promise<AdminRole[]> => {
  return service.get('/api/admin/roles/')
}

/**
 * @功能: 创建新角色
 * @param data 角色创建数据
 */
export const createRoleApi = (data: AdminRoleCreate): Promise<AdminRole> => {
  return service.post('/api/admin/roles/', data)
}

/**
 * @功能: 更新角色信息
 * @param id 角色 ID
 * @param data 角色更新数据
 */
export const updateRoleApi = (id: number, data: AdminRoleUpdate): Promise<AdminRole> => {
  return service.put(`/api/admin/roles/${id}`, data)
}

/**
 * @功能: 删除角色
 * @param id 角色 ID
 */
export const deleteRoleApi = (id: number): Promise<void> => {
  return service.delete(`/api/admin/roles/${id}`)
}
